home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / util / gnu / diff_2_3.lha / diff-2.3 / configure < prev    next >
Text File  |  1993-05-19  |  23KB  |  946 lines

  1. #!/bin/sh
  2. # Guess values for system-dependent variables and create Makefiles.
  3. # Generated automatically using autoconf.
  4. # Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
  5.  
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2, or (at your option)
  9. # any later version.
  10.  
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. # GNU General Public License for more details.
  15.  
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. # Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] [--no-create]
  21. #        [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE] [TARGET]
  22. # Ignores all args except --srcdir, --prefix, --exec-prefix, --no-create, and
  23. # --with-PACKAGE unless this script has special code to handle it.
  24.  
  25.  
  26. for arg
  27. do
  28.   # Handle --exec-prefix with a space before the argument.
  29.   if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
  30.   # Handle --host with a space before the argument.
  31.   elif test x$next_host = xyes; then next_host=
  32.   # Handle --prefix with a space before the argument.
  33.   elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
  34.   # Handle --srcdir with a space before the argument.
  35.   elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
  36.   else
  37.     case $arg in
  38.      # For backward compatibility, also recognize exact --exec_prefix.
  39.      -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
  40.     exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  41.      -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
  42.     next_exec_prefix=yes ;;
  43.  
  44.      -gas | --gas | --ga | --g) ;;
  45.  
  46.      -host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
  47.      -host | --host | --hos | --ho | --h)
  48.     next_host=yes ;;
  49.  
  50.      -nfp | --nfp | --nf) ;;
  51.  
  52.      -no-create | --no-create | --no-creat | --no-crea | --no-cre | --no-cr | --no-c | --no- | --no)
  53.         no_create=1 ;;
  54.  
  55.      -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  56.     prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  57.      -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  58.     next_prefix=yes ;;
  59.  
  60.      -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
  61.     srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  62.      -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
  63.     next_srcdir=yes ;;
  64.  
  65.      -with-* | --with-*)
  66.        package=`echo $arg|sed 's/-*with-//'`
  67.        # Delete all the valid chars; see if any are left.
  68.        if test -n "`echo $package|sed 's/[-a-zA-Z0-9_]*//g'`"; then
  69.          echo "configure: $package: invalid package name" >&2; exit 1
  70.        fi
  71.        eval "with_`echo $package|sed s/-/_/g`=1" ;;
  72.  
  73.      -v | -verbose | --verbose | --verbos | --verbo | --verb | --ver | --ve | --v)
  74.        verbose=yes ;;
  75.  
  76.      *) ;;
  77.     esac
  78.   fi
  79. done
  80.  
  81. trap 'rm -f conftest* core; exit 1' 1 3 15
  82.  
  83. # Needed for some versions of `tr' so that character classes in `[]' work.
  84. if test "${LANG+set}" = "set" ; then
  85.    LANG=C
  86. fi
  87.  
  88. rm -f conftest*
  89. compile='${CC-cc} $CFLAGS $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1'
  90.  
  91. # A filename unique to this package, relative to the directory that
  92. # configure is in, which we can look for to find out if srcdir is correct.
  93. unique_file=diff.h
  94.  
  95. # Find the source files, if location was not specified.
  96. if test -z "$srcdir"; then
  97.   srcdirdefaulted=yes
  98.   # Try the directory containing this script, then `..'.
  99.   prog=$0
  100.   confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
  101.   test "X$confdir" = "X$prog" && confdir=.
  102.   srcdir=$confdir
  103.   if test ! -r $srcdir/$unique_file; then
  104.     srcdir=..
  105.   fi
  106. fi
  107. if test ! -r $srcdir/$unique_file; then
  108.   if test x$srcdirdefaulted = xyes; then
  109.     echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
  110.   else
  111.     echo "configure: Can not find sources in \`${srcdir}'." 1>&2
  112.   fi
  113.   exit 1
  114. fi
  115. # Preserve a srcdir of `.' to avoid automounter screwups with pwd.
  116. # But we can't avoid them for `..', to make subdirectories work.
  117. case $srcdir in
  118.   .|/*|~*) ;;
  119.   *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
  120. esac
  121.  
  122. if test -z "$CC"; then
  123.   # Extract the first word of `gcc', so it can be a program name with args.
  124.   set dummy gcc; word=$2
  125.   echo checking for $word
  126.   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  127.   for dir in $PATH; do
  128.     test -z "$dir" && dir=.
  129.     if test -f $dir/$word; then
  130.       CC="gcc"
  131.       break
  132.     fi
  133.   done
  134.   IFS="$saveifs"
  135. fi
  136. test -z "$CC" && CC="cc"
  137. test -n "$CC" -a -n "$verbose" && echo "    setting CC to $CC"
  138.  
  139. # Find out if we are using GNU C, under whatever name.
  140. cat > conftest.c <<EOF
  141. #ifdef __GNUC__
  142.   yes
  143. #endif
  144. EOF
  145. ${CC-cc} -E conftest.c > conftest.out 2>&1
  146. if egrep yes conftest.out >/dev/null 2>&1; then
  147.   GCC=1 # For later tests.
  148. fi
  149. rm -f conftest*
  150.  
  151. echo checking how to run the C preprocessor
  152. if test -z "$CPP"; then
  153.   CPP='${CC-cc} -E'
  154.   cat > conftest.c <<EOF
  155. #include <stdio.h>
  156. EOF
  157. err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
  158. if test -z "$err"; then
  159.   :
  160. else
  161.   CPP=/lib/cpp
  162. fi
  163. rm -f conftest*
  164. fi
  165.  
  166. # Make sure to not get the incompatible SysV /etc/install and
  167. # /usr/sbin/install, which might be in PATH before a BSD-like install,
  168. # or the SunOS /usr/etc/install directory, or the AIX /bin/install,
  169. # or the AFS install, which mishandles nonexistent args, or
  170. # /usr/ucb/install on SVR4 (which tries to use the nonexistent group
  171. # `staff'.  On most BSDish systems install is in /usr/bin, not /usr/ucb
  172. # anyway).  Sigh.
  173. if test "z${INSTALL}" = "z" ; then
  174.   echo checking for install
  175.   IFS="${IFS=     }"; saveifs="$IFS"; IFS="${IFS}:"
  176.   for dir in $PATH; do
  177.     test -z "$dir" && dir=.
  178.     case $dir in
  179.     /etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
  180.     *)
  181.       if test -f $dir/installbsd; then
  182.     INSTALL="$dir/installbsd -c" # OSF1
  183.     INSTALL_PROGRAM='$(INSTALL)'
  184.     INSTALL_DATA='$(INSTALL) -m 644'
  185.     break
  186.       fi
  187.       if test -f $dir/install; then
  188.     if grep dspmsg $dir/install >/dev/null 2>&1; then
  189.       : # AIX
  190.     else
  191.       INSTALL="$dir/install -c"
  192.       INSTALL_PROGRAM='$(INSTALL)'
  193.       INSTALL_DATA='$(INSTALL) -m 644'
  194.       break
  195.     fi
  196.       fi
  197.       ;;
  198.     esac
  199.   done
  200.   IFS="$saveifs"
  201. fi
  202. INSTALL=${INSTALL-cp}
  203. INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
  204. INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
  205.  
  206. echo checking for minix/config.h
  207. cat > conftest.c <<EOF
  208. #include <minix/config.h>
  209. EOF
  210. err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
  211. if test -z "$err"; then
  212.   MINIX=1
  213. fi
  214. rm -f conftest*
  215.  
  216. # The Minix shell can't assign to the same variable on the same line!
  217. if test -n "$MINIX"; then
  218.   {
  219. test -n "$verbose" && \
  220. echo '    defining' _POSIX_SOURCE
  221. DEFS="$DEFS -D_POSIX_SOURCE=1"
  222. }
  223.  
  224.   {
  225. test -n "$verbose" && \
  226. echo '    defining' _POSIX_1_SOURCE to be '2'
  227. DEFS="$DEFS -D_POSIX_1_SOURCE=2"
  228. }
  229.  
  230.   {
  231. test -n "$verbose" && \
  232. echo '    defining' _MINIX
  233. DEFS="$DEFS -D_MINIX=1"
  234. }
  235.  
  236. fi
  237.  
  238. echo checking for POSIXized ISC
  239. if test -d /etc/conf/kconfig.d &&
  240.   grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
  241. then
  242.   ISC=1 # If later tests want to check for ISC.
  243.   {
  244. test -n "$verbose" && \
  245. echo '    defining' _POSIX_SOURCE
  246. DEFS="$DEFS -D_POSIX_SOURCE=1"
  247. }
  248.  
  249.   if test -n "$GCC"; then
  250.     CC="$CC -posix"
  251.   else
  252.     CC="$CC -Xp"
  253.   fi
  254. fi
  255.  
  256. echo checking for directory library header
  257. dirheader=
  258. if test -z "$dirheader"; then
  259.   echo checking for dirent.h
  260. cat > conftest.c <<EOF
  261. #include <sys/types.h>
  262. #include <dirent.h>
  263. int main() { exit(0); }
  264. int t() { DIR *dirp = opendir ("/"); }
  265. EOF
  266. if eval $compile; then
  267.   {
  268. test -n "$verbose" && \
  269. echo '    defining' DIRENT
  270. DEFS="$DEFS -DDIRENT=1"
  271. }
  272.  dirheader=dirent.h
  273. fi
  274. rm -f conftest*
  275. fi
  276. if test -z "$dirheader"; then
  277.   echo checking for sys/ndir.h
  278. cat > conftest.c <<EOF
  279. #include <sys/types.h>
  280. #include <sys/ndir.h>
  281. int main() { exit(0); }
  282. int t() { DIR *dirp = opendir ("/"); }
  283. EOF
  284. if eval $compile; then
  285.   {
  286. test -n "$verbose" && \
  287. echo '    defining' SYSNDIR
  288. DEFS="$DEFS -DSYSNDIR=1"
  289. }
  290.  dirheader=sys/ndir.h
  291. fi
  292. rm -f conftest*
  293. fi
  294. if test -z "$dirheader"; then
  295.   echo checking for sys/dir.h
  296. cat > conftest.c <<EOF
  297. #include <sys/types.h>
  298. #include <sys/dir.h>
  299. int main() { exit(0); }
  300. int t() { DIR *dirp = opendir ("/"); }
  301. EOF
  302. if eval $compile; then
  303.   {
  304. test -n "$verbose" && \
  305. echo '    defining' SYSDIR
  306. DEFS="$DEFS -DSYSDIR=1"
  307. }
  308.  dirheader=sys/dir.h
  309. fi
  310. rm -f conftest*
  311. fi
  312. if test -z "$dirheader"; then
  313.   echo checking for ndir.h
  314. cat > conftest.c <<EOF
  315. #include <sys/types.h>
  316. #include <ndir.h>
  317. int main() { exit(0); }
  318. int t() { DIR *dirp = opendir ("/"); }
  319. EOF
  320. if eval $compile; then
  321.   {
  322. test -n "$verbose" && \
  323. echo '    defining' NDIR
  324. DEFS="$DEFS -DNDIR=1"
  325. }
  326.  dirheader=ndir.h
  327. fi
  328. rm -f conftest*
  329. fi
  330.  
  331. echo checking for closedir return value
  332. cat > conftest.c <<EOF
  333. #include <sys/types.h>
  334. #include <$dirheader>
  335. int closedir(); main() { exit(closedir(opendir(".")) != 0); }
  336. EOF
  337. eval $compile
  338. if test -s conftest && (./conftest; exit) 2>/dev/null; then
  339.   :
  340. else
  341.   {
  342. test -n "$verbose" && \
  343. echo '    defining' VOID_CLOSEDIR
  344. DEFS="$DEFS -DVOID_CLOSEDIR=1"
  345. }
  346.  
  347. fi
  348. rm -f conftest*
  349.  
  350. prog='/* Ultrix mips cc rejects this.  */
  351. typedef int charset[2]; const charset x;
  352. /* SunOS 4.1.1 cc rejects this.  */
  353. char const *const *ccp;
  354. char **p;
  355. /* AIX XL C 1.02.0.0 rejects this.
  356.    It does not let you subtract one const X* pointer from another in an arm
  357.    of an if-expression whose if-part is not a constant expression */
  358. const char *g = "string";
  359. p = &g + (g ? g-g : 0);
  360. /* HPUX 7.0 cc rejects these. */
  361. ++ccp;
  362. p = (char**) ccp;
  363. ccp = (char const *const *) p;
  364. { /* SCO 3.2v4 cc rejects this.  */
  365.   char *t;
  366.   char const *s = 0 ? (char *) 0 : (char const *) 0;
  367.  
  368.   *t++ = 0;
  369. }
  370. { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
  371.   int x[] = {25,17};
  372.   const int *foo = &x[0];
  373.   ++foo;
  374. }
  375. { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
  376.   typedef const int *iptr;
  377.   iptr p = 0;
  378.   ++p;
  379. }
  380. { /* AIX XL C 1.02.0.0 rejects this saying
  381.      "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
  382.   struct s { int j; const int *ap[3]; };
  383.   struct s *b; b->j = 5;
  384. }'
  385. echo checking for working const
  386. cat > conftest.c <<EOF
  387.  
  388. int main() { exit(0); }
  389. int t() { $prog }
  390. EOF
  391. if eval $compile; then
  392.   :
  393. else
  394.   {
  395. test -n "$verbose" && \
  396. echo '    defining' const to be 'empty'
  397. DEFS="$DEFS -Dconst="
  398. }
  399.  
  400. fi
  401. rm -f conftest*
  402.  
  403. echo checking for ANSI C header files
  404. cat > conftest.c <<EOF
  405. #include <stdlib.h>
  406. #include <stdarg.h>
  407. #include <string.h>
  408. #include <float.h>
  409. EOF
  410. err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
  411. if test -z "$err"; then
  412.   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
  413. echo '#include <string.h>' > conftest.c
  414. eval "$CPP \$DEFS conftest.c > conftest.out 2>&1"
  415. if egrep "memchr" conftest.out >/dev/null 2>&1; then
  416.   # SGI's /bin/cc from Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
  417. cat > conftest.c <<EOF
  418. #include <ctype.h>
  419. #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
  420. #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
  421. #define XOR(e,f) (((e) && !(f)) || (!(e) && (f)))
  422. int main () { int i; for (i = 0; i < 256; i++)
  423. if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
  424. exit (0); }
  425.  
  426. EOF
  427. eval $compile
  428. if test -s conftest && (./conftest; exit) 2>/dev/null; then
  429.   {
  430. test -n "$verbose" && \
  431. echo '    defining' STDC_HEADERS
  432. DEFS="$DEFS -DSTDC_HEADERS=1"
  433. }
  434.  
  435. fi
  436. rm -f conftest*
  437. fi
  438. rm -f conftest*
  439.  
  440. fi
  441. rm -f conftest*
  442.  
  443. echo checking for unistd.h
  444. cat > conftest.c <<EOF
  445. #include <unistd.h>
  446. EOF
  447. err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
  448. if test -z "$err"; then
  449.   {
  450. test -n "$verbose" && \
  451. echo '    defining' HAVE_UNISTD_H
  452. DEFS="$DEFS -DHAVE_UNISTD_H=1"
  453. }
  454.  
  455. fi
  456. rm -f conftest*
  457.  
  458. echo checking for pid_t in sys/types.h
  459. echo '#include <sys/types.h>' > conftest.c
  460. eval "$CPP \$DEFS conftest.c > conftest.out 2>&1"
  461. if egrep "pid_t" conftest.out >/dev/null 2>&1; then
  462.   :
  463. else
  464.   {
  465. test -n "$verbose" && \
  466. echo '    defining' pid_t to be 'int'
  467. DEFS="$DEFS -Dpid_t=int"
  468. }
  469.  
  470. fi
  471. rm -f conftest*
  472.  
  473. for func in dup2 memchr strerror waitpid
  474. do
  475. trfunc=HAVE_`echo $func | tr '[a-z]' '[A-Z]'`
  476. echo checking for ${func}
  477. cat > conftest.c <<EOF
  478. #include <ctype.h>
  479. int main() { exit(0); }
  480. int t() { 
  481. /* The GNU C library defines this for functions which it implements
  482.     to always fail with ENOSYS.  Some functions are actually named
  483.     something starting with __ and the normal name is an alias.  */
  484. #if defined (__stub_${func}) || defined (__stub___${func})
  485. choke me
  486. #else
  487. /* Override any gcc2 internal prototype to avoid an error.  */
  488. extern char ${func}(); ${func}();
  489. #endif
  490.  }
  491. EOF
  492. if eval $compile; then
  493.   {
  494. test -n "$verbose" && \
  495. echo '    defining' ${trfunc}
  496. DEFS="$DEFS -D${trfunc}=1"
  497. }
  498.  
  499. fi
  500. rm -f conftest*
  501. done
  502.  
  503. for hdr in fcntl.h string.h sys/wait.h time.h
  504. do
  505. trhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'`
  506. echo checking for ${hdr}
  507. cat > conftest.c <<EOF
  508. #include <${hdr}>
  509. EOF
  510. err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
  511. if test -z "$err"; then
  512.   {
  513. test -n "$verbose" && \
  514. echo '    defining' ${trhdr}
  515. DEFS="$DEFS -D${trhdr}=1"
  516. }
  517.  
  518. fi
  519. rm -f conftest*
  520. done
  521.  
  522. echo checking for vfork.h
  523. cat > conftest.c <<EOF
  524. #include <vfork.h>
  525. EOF
  526. err=`eval "($CPP \$DEFS conftest.c >/dev/null) 2>&1"`
  527. if test -z "$err"; then
  528.   {
  529. test -n "$verbose" && \
  530. echo '    defining' HAVE_VFORK_H
  531. DEFS="$DEFS -DHAVE_VFORK_H=1"
  532. }
  533.  
  534. fi
  535. rm -f conftest*
  536.  
  537. echo checking for working vfork
  538. cat > conftest.c <<EOF
  539. /* Thanks to Paul Eggert for this test.  */
  540. #include <stdio.h>
  541. #include <sys/types.h>
  542. #include <sys/stat.h>
  543. #ifdef HAVE_UNISTD_H
  544. #include <unistd.h>
  545. #endif
  546. #ifdef HAVE_VFORK_H
  547. #include <vfork.h>
  548. #endif
  549. main() {
  550.   pid_t parent = getpid();
  551.   pid_t child = vfork();
  552.  
  553.   if (child == 0) {
  554.     /* On sparc systems, changes by the child to local and incoming
  555.        argument registers are propagated back to the parent.
  556.        The compiler is told about this with #include <vfork.h>,
  557.        but some compilers (e.g. gcc -O) don't grok <vfork.h>.
  558.        Test for this by using lots of local variables, at least
  559.        as many local variables as main has allocated so far
  560.        including compiler temporaries.  4 locals are enough for
  561.        gcc 1.40.3 on a sparc, but we use 8 to be safe.
  562.        A buggy compiler should reuse the register of parent
  563.        for one of the local variables, since it will think that
  564.        parent can't possibly be used any more in this routine.
  565.        Assigning to the local variable will thus munge parent
  566.        in the parent process.  */
  567.     pid_t
  568.       p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
  569.       p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
  570.     /* Convince the compiler that p..p7 are live; otherwise, it might
  571.        use the same hardware register for all 8 local variables.  */
  572.     if (p != p1 || p != p2 || p != p3 || p != p4
  573.     || p != p5 || p != p6 || p != p7)
  574.       _exit(1);
  575.  
  576.     /* On some systems (e.g. IRIX 3.3),
  577.        vfork doesn't separate parent from child file descriptors.
  578.        If the child closes a descriptor before it execs or exits,
  579.        this munges the parent's descriptor as well.
  580.        Test for this by closing stdout in the child.  */
  581.     _exit(close(fileno(stdout)) != 0);
  582.   } else {
  583.     int status;
  584.     struct stat st;
  585.  
  586.     while (wait(&status) != child)
  587.       ;
  588.     exit(
  589.      /* Was there some problem with vforking?  */
  590.      child < 0
  591.  
  592.      /* Did the child fail?  (This shouldn't happen.)  */
  593.      || status
  594.  
  595.      /* Did the vfork/compiler bug occur?  */
  596.      || parent != getpid()
  597.  
  598.      /* Did the file descriptor bug occur?  */
  599.      || fstat(fileno(stdout), &st) != 0
  600.      );
  601.   }
  602. }
  603. EOF
  604. eval $compile
  605. if test -s conftest && (./conftest; exit) 2>/dev/null; then
  606.   :
  607. else
  608.   {
  609. test -n "$verbose" && \
  610. echo '    defining' vfork to be 'fork'
  611. DEFS="$DEFS -Dvfork=fork"
  612. }
  613.  
  614. fi
  615. rm -f conftest*
  616.  
  617. # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
  618. # for constant arguments.  Useless!
  619. echo checking for working alloca.h
  620. cat > conftest.c <<EOF
  621. #include <alloca.h>
  622. int main() { exit(0); }
  623. int t() { char *p = alloca(2 * sizeof(int)); }
  624. EOF
  625. if eval $compile; then
  626.   {
  627. test -n "$verbose" && \
  628. echo '    defining' HAVE_ALLOCA_H
  629. DEFS="$DEFS -DHAVE_ALLOCA_H=1"
  630. }
  631.  
  632. fi
  633. rm -f conftest*
  634.  
  635. decl="#ifdef __GNUC__
  636. #define alloca __builtin_alloca
  637. #else
  638. #if HAVE_ALLOCA_H
  639. #include <alloca.h>
  640. #else
  641. #ifdef _AIX
  642.  #pragma alloca
  643. #else
  644. char *alloca ();
  645. #endif
  646. #endif
  647. #endif
  648. "
  649. echo checking for alloca
  650. cat > conftest.c <<EOF
  651. $decl
  652. int main() { exit(0); }
  653. int t() { char *p = (char *) alloca(1); }
  654. EOF
  655. if eval $compile; then
  656.   :
  657. else
  658.   alloca_missing=1
  659. cat > conftest.c <<EOF
  660.  
  661. #if defined(CRAY) && ! defined(CRAY2)
  662. winnitude
  663. #else
  664. lossage
  665. #endif
  666.  
  667. EOF
  668. eval "$CPP \$DEFS conftest.c > conftest.out 2>&1"
  669. if egrep "winnitude" conftest.out >/dev/null 2>&1; then
  670.   echo checking for _getb67
  671. cat > conftest.c <<EOF
  672. #include <ctype.h>
  673. int main() { exit(0); }
  674. int t() { 
  675. /* The GNU C library defines this for functions which it implements
  676.     to always fail with ENOSYS.  Some functions are actually named
  677.     something starting with __ and the normal name is an alias.  */
  678. #if defined (__stub__getb67) || defined (__stub____getb67)
  679. choke me
  680. #else
  681. /* Override any gcc2 internal prototype to avoid an error.  */
  682. extern char _getb67(); _getb67();
  683. #endif
  684.  }
  685. EOF
  686. if eval $compile; then
  687.   {
  688. test -n "$verbose" && \
  689. echo '    defining' CRAY_STACKSEG_END to be '_getb67'
  690. DEFS="$DEFS -DCRAY_STACKSEG_END=_getb67"
  691. }
  692.  
  693. else
  694.   echo checking for GETB67
  695. cat > conftest.c <<EOF
  696. #include <ctype.h>
  697. int main() { exit(0); }
  698. int t() { 
  699. /* The GNU C library defines this for functions which it implements
  700.     to always fail with ENOSYS.  Some functions are actually named
  701.     something starting with __ and the normal name is an alias.  */
  702. #if defined (__stub_GETB67) || defined (__stub___GETB67)
  703. choke me
  704. #else
  705. /* Override any gcc2 internal prototype to avoid an error.  */
  706. extern char GETB67(); GETB67();
  707. #endif
  708.  }
  709. EOF
  710. if eval $compile; then
  711.   {
  712. test -n "$verbose" && \
  713. echo '    defining' CRAY_STACKSEG_END to be 'GETB67'
  714. DEFS="$DEFS -DCRAY_STACKSEG_END=GETB67"
  715. }
  716.  
  717. else
  718.   echo checking for getb67
  719. cat > conftest.c <<EOF
  720. #include <ctype.h>
  721. int main() { exit(0); }
  722. int t() { 
  723. /* The GNU C library defines this for functions which it implements
  724.     to always fail with ENOSYS.  Some functions are actually named
  725.     something starting with __ and the normal name is an alias.  */
  726. #if defined (__stub_getb67) || defined (__stub___getb67)
  727. choke me
  728. #else
  729. /* Override any gcc2 internal prototype to avoid an error.  */
  730. extern char getb67(); getb67();
  731. #endif
  732.  }
  733. EOF
  734. if eval $compile; then
  735.   {
  736. test -n "$verbose" && \
  737. echo '    defining' CRAY_STACKSEG_END to be 'getb67'
  738. DEFS="$DEFS -DCRAY_STACKSEG_END=getb67"
  739. }
  740.  
  741. fi
  742. rm -f conftest*
  743.  
  744. fi
  745. rm -f conftest*
  746.  
  747. fi
  748. rm -f conftest*
  749.  
  750. fi
  751. rm -f conftest*
  752.  
  753.  
  754. fi
  755. rm -f conftest*
  756.  
  757. if test -n "$alloca_missing"; then
  758.   # The SVR3 libPW and SVR4 libucb both contain incompatible functions
  759.   # that cause trouble.  Some versions do not even contain alloca or
  760.   # contain a buggy version.  If you still want to use their alloca,
  761.   # use ar to extract alloca.o from them instead of compiling alloca.c.
  762.   ALLOCA=alloca.o
  763.  
  764.   echo 'checking stack direction for C alloca'
  765.   echo checking whether cross-compiling
  766. # If we cannot run a trivial program, we must be cross compiling.
  767. cat > conftest.c <<EOF
  768. main(){exit(0);}
  769. EOF
  770. eval $compile
  771. if test -s conftest && (./conftest; exit) 2>/dev/null; then
  772.   :
  773. else
  774.   cross_compiling=1
  775. fi
  776. rm -f conftest*
  777.  
  778. if test -n "$cross_compiling"
  779. then
  780.   {
  781. test -n "$verbose" && \
  782. echo '    defining' STACK_DIRECTION to be '0'
  783. DEFS="$DEFS -DSTACK_DIRECTION=0"
  784. }
  785.  
  786. else
  787. cat > conftest.c <<EOF
  788. find_stack_direction ()
  789. {
  790.   static char *addr = 0;
  791.   auto char dummy;
  792.   if (addr == 0)
  793.     {
  794.       addr = &dummy;
  795.       find_stack_direction ();
  796.     }
  797.   else
  798.     return (&dummy > addr) ? 1 : -1;
  799. }
  800. main ()
  801. {
  802.   exit (find_stack_direction() < 0);
  803. }
  804. EOF
  805. eval $compile
  806. if test -s conftest && (./conftest; exit) 2>/dev/null; then
  807.   {
  808. test -n "$verbose" && \
  809. echo '    defining' STACK_DIRECTION to be '1'
  810. DEFS="$DEFS -DSTACK_DIRECTION=1"
  811. }
  812.  
  813. else
  814.   {
  815. test -n "$verbose" && \
  816. echo '    defining' STACK_DIRECTION to be '-1'
  817. DEFS="$DEFS -DSTACK_DIRECTION=-1"
  818. }
  819.  
  820. fi
  821. fi
  822. rm -f conftest*
  823. fi
  824.  
  825. echo checking for st_blksize in struct stat
  826. cat > conftest.c <<EOF
  827. #include <sys/types.h>
  828. #include <sys/stat.h>
  829. int main() { exit(0); }
  830. int t() { struct stat s; s.st_blksize; }
  831. EOF
  832. if eval $compile; then
  833.   {
  834. test -n "$verbose" && \
  835. echo '    defining' HAVE_ST_BLKSIZE
  836. DEFS="$DEFS -DHAVE_ST_BLKSIZE=1"
  837. }
  838.  
  839. fi
  840. rm -f conftest*
  841.  
  842. echo checking for Xenix
  843. cat > conftest.c <<EOF
  844. #if defined(M_XENIX) && !defined(M_UNIX)
  845.   yes
  846. #endif
  847.  
  848. EOF
  849. eval "$CPP \$DEFS conftest.c > conftest.out 2>&1"
  850. if egrep "yes" conftest.out >/dev/null 2>&1; then
  851.   XENIX=1
  852. fi
  853. rm -f conftest*
  854.  
  855. if test -n "$XENIX"; then
  856.   LIBS="$LIBS -lx"
  857.   case "$DEFS" in
  858.   *SYSNDIR*) ;;
  859.   *) LIBS="-ldir $LIBS" ;; # Make sure -ldir precedes any -lx.
  860.   esac
  861. fi
  862.  
  863. if test -n "$prefix"; then
  864.   test -z "$exec_prefix" && exec_prefix='${prefix}'
  865.   prsub="s%^prefix\\([     ]*\\)=\\([     ]*\\).*$%prefix\\1=\\2$prefix%"
  866. fi
  867. if test -n "$exec_prefix"; then
  868.   prsub="$prsub
  869. s%^exec_prefix\\([     ]*\\)=\\([     ]*\\).*$%\
  870. exec_prefix\\1=\\2$exec_prefix%"
  871. fi
  872. DEFS="`echo \"$DEFS\" | sed 's%[&\\\]%\\\&%g'`"
  873.  
  874. trap 'rm -f config.status; exit 1' 1 3 15
  875. echo creating config.status
  876. rm -f config.status
  877. cat > config.status <<EOF
  878. #!/bin/sh
  879. # Generated automatically by configure.
  880. # Run this file to recreate the current configuration.
  881. # This directory was configured as follows,
  882. # on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
  883. #
  884. # $0 $*
  885.  
  886. for arg
  887. do
  888.   case "\$arg" in
  889.     -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  890.     exec /bin/sh $0 $* ;;
  891.     *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
  892.   esac
  893. done
  894.  
  895. trap 'rm -f Makefile; exit 1' 1 3 15
  896. CC='$CC'
  897. CPP='$CPP'
  898. INSTALL='$INSTALL'
  899. INSTALL_PROGRAM='$INSTALL_PROGRAM'
  900. INSTALL_DATA='$INSTALL_DATA'
  901. ALLOCA='$ALLOCA'
  902. LIBS='$LIBS'
  903. srcdir='$srcdir'
  904. DEFS='$DEFS'
  905. prefix='$prefix'
  906. exec_prefix='$exec_prefix'
  907. prsub='$prsub'
  908. EOF
  909. cat >> config.status <<\EOF
  910.  
  911. top_srcdir=$srcdir
  912.  
  913. # Allow make-time overrides of the generated file list.
  914. test -n "$gen_files" || gen_files="Makefile"
  915.  
  916. for file in .. $gen_files; do if [ "x$file" != "x.." ]; then
  917.   srcdir=$top_srcdir
  918.   # Remove last slash and all that follows it.  Not all systems have dirname.
  919.   dir=`echo $file|sed 's%/[^/][^/]*$%%'`
  920.   if test "$dir" != "$file"; then
  921.     test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
  922.     test ! -d $dir && mkdir $dir
  923.   fi
  924.   echo creating $file
  925.   rm -f $file
  926.   echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file
  927.   sed -e "
  928. $prsub
  929. s%@CC@%$CC%g
  930. s%@CPP@%$CPP%g
  931. s%@INSTALL@%$INSTALL%g
  932. s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
  933. s%@INSTALL_DATA@%$INSTALL_DATA%g
  934. s%@ALLOCA@%$ALLOCA%g
  935. s%@LIBS@%$LIBS%g
  936. s%@srcdir@%$srcdir%g
  937. s%@DEFS@%$DEFS%
  938. " $top_srcdir/${file}.in >> $file
  939. fi; done
  940.  
  941. exit 0
  942. EOF
  943. chmod +x config.status
  944. test -n "$no_create" || ./config.status
  945.  
  946.